#pragma once
#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<stdbool.h>
#include<time.h>

typedef int HPDataTypef;

typedef struct Heap
{
	HPDataTypef* a;
	int size;
	int capacity;
}HP;

void HPInit(HP* php);
void HPDestroy(HP* php);
void HPPush(HP* php, HPDataTypef x);
void HPPop(HP* php);
HPDataTypef HPTop(HP* php);
bool HPEmpty(HP* php);
void AdjustUp(HPDataTypef* a, int child);
void Swap(HPDataTypef* child, HPDataTypef* parent);
void AdjustDown(HPDataTypef* a, int n, int parent);


